ENH: Ingest ITKSmoothingRecursiveYvvGaussianFilter into Modules/Filtering#6243
Open
hjmjohnson wants to merge 89 commits into
Open
Conversation
Signed-off-by: Irina Vidal <irina.vidal-migallon@inria.fr>
Signed-off-by: Irina Vidal <irina.vidal-migallon@inria.fr>
Signed-off-by: Irina Vidal <irina.vidal-migallon@inria.fr>
Signed-off-by: Irina Vidal <irina.vidal-migallon@inria.fr>
Signed-off-by: Irina Vidal Migallon <irina_ext@maunakeatech.com>
Signed-off-by: Irina Vidal Migallon <irina_ext@maunakeatech.com>
Signed-off-by: Irina Vidal Migallon <irina_ext@maunakeatech.com>
Error lim for floats. Signed-off-by: Irina Vidal Migallon <irina_ext@maunakeatech.com>
Signed-off-by: Irina Vidal Migallon <irina_ext@maunakeatech.com>
Signed-off-by: Irina Vidal Migallon <irina_ext@maunakeatech.com>
…ursiveYvv GaussianFilter
…ursiveYvv GaussianFilter
…ursiveYvv GaussianFilter
Smaller test images. Signed-off-by: Irina Vidal <irina.vidal-migallon@inria.fr>
Signed-off-by: Irina Vidal <irina.vidal-migallon@inria.fr>
Following the new naming rules for ITK remote modules, the remote module name should not contain the "ITK" prefix.
STYLE: Remove "ITK" from the module name.
EXCLUDE_FROM_ALL is replaced by EXCLUDE_FROM_DEFAULT in ITK commit:e599fcaa09556992cb9a1c37ff5cf655b90ae4fc
FIX: ITK warnings of deprecated EXCLUDE_FROM_ALL.
Signed-off-by: Irina Vidal <irina.vidal-migallon@inria.fr>
Also clean up itkYvvWhiteImageTest.cxx to have proper whitespace.
COMP: Fix compliler warnings
Signed-off-by: Irina Vidal Migallon <irina_ext@maunakeatech.com>
Signed-off-by: Irina Vidal Migallon <irina_ext@maunakeatech.com>
This is required when building against an install tree with GPU support to avoid linking errors.
BUG: Add itk_module_target call for library.
Additional Files for Python Wrapping
50 tasks
dzenanz
approved these changes
May 12, 2026
Member
|
Ghostflow complains of large file (4M) and bad whitespace. These should be addressed before merging. |
a1f3462 to
c5456be
Compare
Member
Author
|
@dzenanz Addressed via
The third ghostflow note ( |
Contributor
|
Too many files changed for review. ( |
0723ecb to
1025c0b
Compare
dzenanz
approved these changes
May 12, 2026
Member
dzenanz
left a comment
There was a problem hiding this comment.
The new commit looks good. Ghostflow is taking its sweet time.
Member
|
Ghostflow only has root-commit warning. Good to merge (if everything else comes back green). |
…ring Mode-A merge of upstream ITKSmoothingRecursiveYvvGaussianFilter into ITK proper at Modules/Filtering/SmoothingRecursiveYvvGaussianFilter/, ingested via the v4 pipeline (whitelist filter-repo + per-blob sanitize + no-ff merge). The filter implements Vliet/Young/Verbeek's recursive Gaussian smoothing approximation as a drop-in alternative to the canonical itk::SmoothingRecursiveGaussianImageFilter. GPU classes are gated on ITK_USE_GPU. Upstream: https://github.com/InsightSoftwareConsortium/ITKSmoothingRecursiveYvvGaussianFilter The upstream repository will be archived read-only after this PR merges; it remains reachable at the URL above for historical reference. The upstream top-level CMakeLists.txt's bespoke OpenCL detection is intentionally not migrated; a clean three-line in-tree CMakeLists.txt is added in a follow-up commit.
…Lists.txt The upstream top-level CMakeLists.txt carried bespoke find_package(OpenCL) + try_run detection that is unsuitable for an in-tree ITK module; replace with the canonical three-line project() + itk_module_impl() form. GPU sources continue to build under ITK_USE_GPU via src/CMakeLists.txt.
SetSigmaArray() reads spacing from GetOutput()->GetSpacing() at user-config time, where the output DataObject still carries the default unit spacing (1.0 in every dimension). The CPU sibling RecursiveLineYvvGaussianImageFilter recomputes the b-coefficients and M-matrix in BeforeThreadedGenerateData() using the actual input spacing. Add the equivalent recomputation at the entry of GPUGenerateData() so non-unit-spacing images (e.g. CT with 0.5 mm voxels) produce correct Gaussian kernels on the GPU path.
Upstream benchmark referenced a 4 MB Input/256x256x64.tif blob that was removed during ingest; no published ITKTestingData CID exists. 3D filter coverage is retained by itkYvvWhiteImageTest3D and itkGPURecursiveYvvGaussianImageFilterTest.
1025c0b to
c2940bf
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ingest the standalone remote module
InsightSoftwareConsortium/ITKSmoothingRecursiveYvvGaussianFilterinto
Modules/Filtering/SmoothingRecursiveYvvGaussianFilter/. Vliet/Young/Verbeekrecursive Gaussian smoothing — drop-in alternative to the canonical
itk::SmoothingRecursiveGaussianImageFilter. In-tree underEXCLUDE_FROM_DEFAULT. GPU classes are gated onITK_USE_GPU.Built directly on
upstream/mainvia the v4 ingestion pipeline (#6204).Commits
ENH: Ingest ITKSmoothingRecursiveYvvGaussianFilter into Modules/Filtering(Mode-A merge)DOC: Add SmoothingRecursiveYvvGaussianFilter README and in-tree CMakeLists.txtCOMP: Remove SmoothingRecursiveYvvGaussianFilter .remote.cmake (in-tree)ENH: Enable Module_SmoothingRecursiveYvvGaussianFilter in configure-ciSTYLE: gersemi-format SmoothingRecursiveYvvGaussianFilter src/CMakeLists.txtMerge topology preserved: 24 merge commits, 87 commits unique to this PR.
OpenCL handling
The upstream top-level
CMakeLists.txtcarried bespokefind_package(OpenCL)+try_rundetection that conflicts with ITK'sin-tree GPU support (
ITKGPUCommon). It is intentionally not migrated;a clean three-line
project()+itk_module_impl()form takes itsplace. GPU sources continue to build under
ITK_USE_GPUviasrc/CMakeLists.txt.Phase B follow-up
After merge, archive the upstream repo via the v4 archive script: